From 8b8c3f3a9563c4e417dd0a29fe117b59d3fa33f5 Mon Sep 17 00:00:00 2001 From: robertlipe Date: Sun, 27 Jan 2013 22:12:25 +0000 Subject: [PATCH] Turn on the first real use of Qt, replacing the creation_time in our waypoints with a QDateTime which will (eventually) give us coherent times before 1970 and with decent sub-secont support. This patch itself doesn't really give us that, but it lays important steps. Right now, it's conditionally compiled under NEWTIME, but I don't expect that to last very long. We'll move to *requiring* Qt very quickly; this is a prop for ease of development right now. --- gpsbabel/Makefile.in | 23 +++++++++++++---------- gpsbabel/configure | 16 +++++++++++++++- gpsbabel/configure.in | 10 ++++++++++ gpsbabel/defs.h | 2 +- gpsbabel/navilink.cc | 2 +- gpsbabel/xmlgeneric.h | 2 +- 6 files changed, 41 insertions(+), 14 deletions(-) diff --git a/gpsbabel/Makefile.in b/gpsbabel/Makefile.in index f17c21bc5..ee9ed135a 100644 --- a/gpsbabel/Makefile.in +++ b/gpsbabel/Makefile.in @@ -39,14 +39,16 @@ RC=@RC@ # or -Fomain.o (cl.exe) OUTPUT_SWITCH=-o # +QT_INC=@QT_INC@ + # # Enable either or both of these as you wish. # #OPTIMIZATION=-O $(EXTRA_OPTIMIZATION) #DEBUGGING=-g $(EXTRA_DEBUGGING) # add -DDEBUG_MEM to turn on memory allocation logging -GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I$(srcdir) \ - $(OPTIMIZATION) -DHAVE_CONFIG_H @CFLAGS@ +GBCFLAGS=$(EXTRA_CFLAGS) $(DEBUGGING) -I. -I$(srcdir) -I$(QT_INC) \ + $(OPTIMIZATION) -DHAVE_CONFIG_H @CFLAGS@ -DNEWTIME LDFLAGS=$(EXTRA_LDFLAGS) @LDFLAGS@ PREFIX=@prefix@ INSTALL_DIR=$(DESTDIR)/$(PREFIX) @@ -56,27 +58,27 @@ INSTALL_DIR=$(DESTDIR)/$(PREFIX) MINIMAL_FMTS=magproto.o gpx.o geo.o mapsend.o mapsource.o garmin.o \ garmin_device_xml.o garmin_tables.o internal_styles.o nmea.o kml.o \ - wbt-200.o + wbt-200.o ozi.o pcx.o gdb.o gtrnctr.o xcsv.o explorist_ini.o -ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o pcx.o cetus.o copilot.o \ +ALL_FMTS=$(MINIMAL_FMTS) gtm.o gpsutil.o cetus.o copilot.o \ gpspilot.o magnav.o skytraq.o \ psp.o holux.o tmpro.o tpg.o tpo.o \ - xcsv.o gcdb.o tiger.o easygps.o quovadis.o \ + gcdb.o tiger.o easygps.o quovadis.o \ gpilots.o saroute.o navicache.o psitrex.o geoniche.o delgpl.o \ - ozi.o text.o html.o palmdoc.o netstumbler.o hsa_ndv.o \ + text.o html.o palmdoc.o netstumbler.o hsa_ndv.o \ igc.o brauniger_iq.o shape.o hiketech.o glogbook.o coastexp.o \ vcf.o overlay.o google.o xhtmlent.o lowranceusr.o an1.o tomtom.o \ - tef_xml.o maggeo.o pathaway.o vitosmt.o gdb.o bcr.o coto.o \ + tef_xml.o maggeo.o pathaway.o vitosmt.o bcr.o coto.o \ ignrando.o stmwpp.o msroute.o cst.o nmn4.o mag_pdb.o compegps.o \ yahoo.o unicsv.o wfff_xml.o garmin_txt.o axim_gpb.o gpssim.o \ - stmsdf.o gtrnctr.o dmtlog.o raymarine.o alan.o vitovtt.o \ + stmsdf.o dmtlog.o raymarine.o alan.o vitovtt.o \ ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o \ navilink.o mtk_logger.o ik3d.o osm.o destinator.o exif.o vidaone.o \ igo8.o gopal.o humminbird.o mapasia.o gnav_trl.o navitel.o ggv_ovl.o \ jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o v900.o delbin.o \ pocketfms_bc.o pocketfms_fp.o pocketfms_wp.o naviguide.o enigma.o \ vpl.o teletype.o jogmap.o bushnell.o bushnell_trl.o wintec_tes.o \ - subrip.o garmin_xt.o explorist_ini.o garmin_fit.o lowranceusr4.o \ + subrip.o garmin_xt.o garmin_fit.o lowranceusr4.o \ mtk_locus.o FMTS=@FMTS@ @@ -129,7 +131,7 @@ WEB=@DOCDIR@ all: gpsbabel$(EXEEXT) gpsbabel$(EXEEXT): configure Makefile $(OBJS) @GPSBABEL_DEBUG@ - $(CXX) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@ + $(CXX) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EXPAT_LIB@ @USB_LIBS@ @QT_LIBS@ $(OUTPUT_SWITCH)$@ gpsbabel-debug: $(OBJS) $(CXX) $(CFLAGS) $(LDFLAGS) $(OBJS) @LIBS@ @EFENCE_LIB@ @EXPAT_LIB@ @USB_LIBS@ $(OUTPUT_SWITCH)$@ @@ -387,6 +389,7 @@ mac-gui: gui # Build the Qt front end, place GPSBabel in the right place, deploy all # the libs. + mac-gui-dmg: mac-gui rm -f gui/objects/GPSBabelFE.dmg cd gui/objects ; macdeployqt GPSBabelFE.app -dmg diff --git a/gpsbabel/configure b/gpsbabel/configure index 8afba0e05..f9e7b14e0 100755 --- a/gpsbabel/configure +++ b/gpsbabel/configure @@ -701,6 +701,8 @@ EFENCE_LIB GPSBABEL_DEBUG INSTALL_DEBUG DOCDIR +QT_INC +QT_LIBS LIBOBJS LTLIBOBJS' ac_subst_files='' @@ -4626,9 +4628,11 @@ rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ _ACEOF CFLAGS="$CFLAGS -Imac/libusb/" + QT_LIBS="-F$(qmake -query QT_INSTALL_LIBS) -framework QtCore" ;; *) GBSER=gbser_posix.o + QT_LIBS="-L$(qmake -query QT_INSTALL_LIBS) -l QtCore" { echo "$as_me:$LINENO: checking for libusb" >&5 echo $ECHO_N "checking for libusb... $ECHO_C" >&6; } if test "$with_libusb" = no ; then @@ -5357,6 +5361,14 @@ else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi + +# +# There's probably some more "autoconfish" way to do this. +# +QT_INC=$(qmake -query QT_INSTALL_HEADERS) + + + ac_config_files="$ac_config_files Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile shapelib/Makefile zlib/empty" ac_config_files="$ac_config_files gui/makelinuxdist.sh" @@ -6073,11 +6085,13 @@ EFENCE_LIB!$EFENCE_LIB$ac_delim GPSBABEL_DEBUG!$GPSBABEL_DEBUG$ac_delim INSTALL_DEBUG!$INSTALL_DEBUG$ac_delim DOCDIR!$DOCDIR$ac_delim +QT_INC!$QT_INC$ac_delim +QT_LIBS!$QT_LIBS$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 89; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 91; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/gpsbabel/configure.in b/gpsbabel/configure.in index eb6e30e97..e602cb6ef 100644 --- a/gpsbabel/configure.in +++ b/gpsbabel/configure.in @@ -189,9 +189,11 @@ case "$target" in USB_LIBS="-framework IOKit -framework CoreFoundation" AC_DEFINE(HAVE_LIBUSB, 1) CFLAGS="$CFLAGS -Imac/libusb/" + QT_LIBS="-F$(qmake -query QT_INSTALL_LIBS) -framework QtCore" ;; *) GBSER=gbser_posix.o + QT_LIBS="-L$(qmake -query QT_INSTALL_LIBS) -l QtCore" AC_MSG_CHECKING(for libusb) if test "$with_libusb" = no ; then AC_MSG_RESULT(check not done) @@ -430,6 +432,14 @@ if test "$ac_cv_valistisarray" = true ; then else AC_MSG_RESULT(no) fi + +# +# There's probably some more "autoconfish" way to do this. +# +QT_INC=$(qmake -query QT_INSTALL_HEADERS) +AC_SUBST(QT_INC) +AC_SUBST(QT_LIBS) + AC_CONFIG_FILES([Makefile gbversion.h gui/setup.iss xmldoc/makedoc tools/mkcapabilities win32/gpsbabel.rc jeeps/Makefile shapelib/Makefile zlib/empty]) AC_CONFIG_FILES([gui/makelinuxdist.sh], [chmod +x gui/makelinuxdist.sh]) AC_OUTPUT diff --git a/gpsbabel/defs.h b/gpsbabel/defs.h index e7d0dcc09..3d75d3e7e 100644 --- a/gpsbabel/defs.h +++ b/gpsbabel/defs.h @@ -518,7 +518,7 @@ public: wp_flags wpt_flags; const char* icon_descr; #if NEWTIME - gbDateTime creation_time; + gpsbabel::DateTime creation_time; #else time_t creation_time; /* standardized in UTC/GMT */ #endif diff --git a/gpsbabel/navilink.cc b/gpsbabel/navilink.cc index 7c5b987d2..9f80ecf72 100644 --- a/gpsbabel/navilink.cc +++ b/gpsbabel/navilink.cc @@ -176,7 +176,7 @@ static void (*write_route_end)(const route_head* track) = NULL; static int find_icon_from_descr(const char* descr) { - int i; + unsigned int i; for (i = 0; descr && i < sizeof(icon_table) / sizeof(const char*); i++) { if (strcmp(descr, icon_table[i]) == 0) { diff --git a/gpsbabel/xmlgeneric.h b/gpsbabel/xmlgeneric.h index 3a7fca824..6252c6cae 100644 --- a/gpsbabel/xmlgeneric.h +++ b/gpsbabel/xmlgeneric.h @@ -61,5 +61,5 @@ void xml_init_offset(const char* fname, xg_tag_mapping* tbl, const char* encoding, gbsize_t offset); void xml_read(void); void xml_readstring(char* str); -void xml_readprefixstring(char* str); +void xml_readprefixstring(const char* str); void xml_deinit(void); -- 2.30.2